PIN Block format 35 is the PIN Block required by Europay/MasterCard for their Pay Now & Pay Later products.
The PIN block is created from a fixed Control Field, the length of the PIN, the customer PIN itself and the hexadecimal F padding character. PINs from 4 to 12 digits in length are accommodated.
The 16-digit (8 byte) block is constructed as follows:
|
C |
N |
P |
P |
P |
P |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
P/F |
F |
F |
Where:
C is a fixed control field of binary value 0010 (hex 2).
N is the length of the PIN and can be any binary value from 0100 to 1100 (hex 4 to hex C).
P is a digit of the PIN and can be any binary value from 0000 to 1001 (hex 0 to hex 9).
P/F is either a PIN digit of the binary 1111 (hex F) filler depending on the length of the PIN.
F is filler of binary value 1111 (hex F).
Thus for a 5 digit PIN of 34567, the block would hold the 16 hex values as shown below:
|
2 |
5 |
3 |
4 |
5 |
6 |
7 |
F |
F |
F |
F |
F |
F |
F |
F |
F |
Another 16-digit block is made from four zeros and the 12 right-most digits of the account number, excluding the check digit.
For account number 1234 0000 0123 4562 where 2 is the check digit, the block is:
|
0 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
The two blocks are exclusive-ORed on a bit by bit basis:
|
2 |
5 |
3 |
4 |
5 |
6 |
7 |
F |
F |
F |
F |
F |
F |
F |
F |
F |
|
0 |
0 |
0 |
0 |
4 |
0 |
0 |
0 |
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
|
2 |
5 |
3 |
4 |
1 |
6 |
7 |
F |
F |
F |
E |
D |
C |
B |
A |
9 |